package com.demo.order.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 订单修改记录审核
 * </p>
 *
 * @author 翌擎科技
 * @since 2021-09-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tt_sales_order_apply")
public class TtSalesOrderApply implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private String id;

    /**
     * 客户订单id
     */
    private String customerOrderId;

    /**
     * 销售订单流水号
     */
    private String salesOrderNo;

    /**
     * 父销售订单id
     */
    private String parentSalesOrderId;

    /**
     * 子销售订单id
     */
    private String subSalesOrderId;

    /**
     * 销售模式 0-普通经销 1-直销 
     */
    private Boolean salesMode;

    /**
     * 交付店ID 
     */
    private String deliverShopId;

    /**
     * 采购订单号
     */
    private String vmsOrderId;

    /**
     * 用户ID
     */
    private String customerId;

    /**
     * 客户订单编号
     */
    private String customerOrderNo;

    /**
     * 潜客表id
     */
    private String potentialCustomerId;

    /**
     * 订单类型
     */
    private Integer orderType;

    /**
     * 订单类型名称
     */
    private String orderTypeName;

    /**
     * 用户名称
     */
    private String customerName;

    /**
     * 客户电话
     */
    private String customerMobilePhone;

    /**
     * 客户类型
     */
    private String customerType;

    /**
     * 客户类型名称
     */
    private String customerTypeName;

    /**
     * 证件类型
     */
    private Integer idType;

    /**
     * 证件类型名称
     */
    private String idTypeName;

    /**
     * 证件号码
     */
    private String idCardNo;

    /**
     * VIN码
     */
    private String vin;

    /**
     * 产品编号
     */
    private String productCode;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 品牌编号
     */
    private String brandCode;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 车系编号
     */
    private String seriesCode;

    /**
     * 车系名称
     */
    private String seriesName;

    /**
     * 车型编号
     */
    private String modelCode;

    /**
     * 车型名称
     */
    private String modelName;

    /**
     * 车款编号
     */
    private String styleCode;

    /**
     * 车款名称
     */
    private String styleName;

    /**
     * 配置编号
     */
    private String configCode;

    /**
     * 配置名称
     */
    private String configName;

    /**
     * 内饰颜色编号
     */
    private String innerColorCode;

    /**
     * 内饰颜色名称
     */
    private String innerColorName;

    /**
     * 外饰颜色编号
     */
    private String outterColorCode;

    /**
     * 外饰颜色名称
     */
    private String outterColorName;

    /**
     * 选装包编号
     */
    private String optionCode;

    /**
     * 选装包名称
     */
    private String optionName;

    /**
     * 整车型号
     */
    private String vehicleModelCode;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount;

    /**
     * 定金
     */
    private BigDecimal depositAmount;

    /**
     * 购车性质
     */
    private Integer buyProperty;

    /**
     * 购车性质名称
     */
    private String buyPropertyName;

    /**
     * 车辆用途
     */
    private Integer useWay;

    /**
     * 车辆用途名称
     */
    private String useWayName;

    /**
     * 其他需求
     */
    private String otherNeeds;

    /**
     * 目前使用车辆
     */
    private String currentUseCar;

    /**
     * 付款方式:全款,分期
     */
    private Integer payType;

    /**
     * 付款方式名称
     */
    private String payTypeName;

    /**
     * 预计提车日期
     */
    private LocalDate estimateDeliveryDate;

    /**
     * 分期期数
     */
    private Integer instalments;

    /**
     * 贷款银行
     */
    private Integer loanBank;

    /**
     * 贷款银行名称
     */
    private String loanBankName;

    /**
     * 贷款利率(百分之几)
     */
    private BigDecimal loanRate;

    /**
     * 订单状态
     */
    private Integer orderStatus;

    /**
     * 订单状态名称
     */
    private String orderStatusName;

    /**
     * 订单合并状态code；11260000-待提交、待审核、待配车、已配车、已完成、已作废
     */
    private Integer orderMergeStatusCode;

    /**
     * 订单合并状态描述；待提交、待审核、待配车、已配车、已完成、已作废
     */
    private String orderMergeStatusName;

    /**
     * 历史订单合并状态code；11260000-待提交、待审核、待配车、已配车、已完成、已作废
     */
    private Integer lastMergeStatusCode;

    /**
     * 历史订单合并状态描述；待提交、待审核、待配车、已配车、已完成、已作废
     */
    private String lastMergeStatusName;

    /**
     * 交车状态；0-待交车；1-已交车 
     */
    private Boolean deliverStatus;

    /**
     * 开票状态；0-待开票；1-已开票 
     */
    private Boolean invoiceStatus;

    /**
     * 销售汇报状态；0-待上报；1-已上报
     */
    private Boolean salesReportStatus;

    /**
     * 退订状态；0-待退订；1-已退订；2-待审核
     */
    private Boolean cancelStatus;

    /**
     * 取消订单前临时状态
     */
    private Integer temporaryStatus;

    /**
     * 取消订单前临时状态名称
     */
    private String temporaryStatusName;

    /**
     * 是否已提交申请
     */
    private Integer isSubmit;

    /**
     * 备注
     */
    private String remark;

    /**
     * 申请说明
     */
    private String applyRemark;

    /**
     * 销售顾问id
     */
    private String saId;

    /**
     * 销售顾问名称
     */
    private String saName;

    /**
     * 状态,默认有效
     */
    private Integer status;

    /**
     * 取消时间
     */
    private LocalDateTime cancelTime;

    /**
     * 取消人id
     */
    private String cancelUserId;

    /**
     * 取消人姓名
     */
    private String cancelUserName;

    /**
     * 最后一次审批订单/退单时间
     */
    private LocalDateTime lastApproveTime;

    /**
     * 交车时间
     */
    private LocalDateTime delieryTime;

    /**
     * 配车时间
     */
    private LocalDateTime matchTime;

    /**
     * 开票时间
     */
    private LocalDateTime invoiceTime;

    /**
     * 上报时间
     */
    private LocalDateTime reportTime;

    /**
     * 虚拟店代码
     */
    private String shopId;

    /**
     * 虚拟店名称
     */
    private String shopName;

    /**
     * 经销商代码
     */
    private String dealerId;

    /**
     * 经销商名称
     */
    private String dealerName;

    /**
     * 最后一次交车ID
     */
    private String latestDeliveryId;

    /**
     * 最后一次配车ID
     */
    private String latestMatchId;

    /**
     * 订单合同附件列表JSON字符串
     */
    private String contractFiles;

    /**
     * 订单客户证件附件列表JSON字符串
     */
    private String cardPicFiles;

    /**
     * 版本号
     */
    private Integer version;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 更新人
     */
    private String updateBy;

    /**
     * 最近一次取消申请id
     */
    private String latestCancelApplyId;

    /**
     * 线索类型,10071001:展厅创建,10071002:线索中心,10071003:手机助手录入-线上电销顾问,10071004:手机助手录入-线下展厅顾问
     */
    private Integer clueType;

    /**
     * 线索类型,10071001:展厅创建,10071002:线索中心,10071003:手机助手录入-线上电销顾问,10071004:手机助手录入-线下展厅顾问
     */
    private String clueTypeName;

    /**
     * 线索评级
     */
    private String clueLevelCode;

    /**
     * 线索评级名称
     */
    private String clueLevelName;

    /**
     * 取消原因
     */
    private String cancelReason;

    /**
     * 选装信息
     */
    private String options;

    /**
     * 线上订单ID
     */
    private String hforderId;

    /**
     * 客户下单编号
     */
    private String customerNum;

    /**
     * 支付状态, 1已支付 0未支付
     */
    private Integer payStatus;

    /**
     * 支付定金
     */
    private String payEarnestMoney;

    /**
     * CRM配车ID
     */
    private String crmVehicleId;

    /**
     * CRM订单编号
     */
    private String crmOrderNo;

    /**
     * 是否待分配
     */
    private Integer distribution;

    /**
     * 优惠金额
     */
    private BigDecimal discount;

    /**
     * 尾款优惠申请状态
     */
    private Integer finalPaymentStatus;

    /**
     * 判断是否冲订单中心过来10780002 否  10780001 是
     */
    private Integer onLine;

    /**
     * 用户一级来源
     */
    private String userSource1;

    /**
     * 用户二级来源
     */
    private String userSource2;

    /**
     * 用户三级来源
     */
    private String userSource3;

    /**
     * 用户四级来源
     */
    private String userSource4;

    /**
     * 用户五级来源
     */
    private String userSource5;

    /**
     * 用户一级来源code
     */
    private String userSourceCode1;

    /**
     * 用户二级来源code
     */
    private String userSourceCode2;

    /**
     * 用户三级来源code
     */
    private String userSourceCode3;

    /**
     * 用户四级来源code
     */
    private String userSourceCode4;

    /**
     * 用户五级来源code
     */
    private String userSourceCode5;

    /**
     * 来源 10780001 线索中心， 10780002 订单中心
     */
    private Integer orderSource;

    /**
     * 店铺类型 1 普通店 2 商超店 3交付店
     */
    private Integer shopType;

    /**
     * 上次店铺店铺类型 店铺类型 1 普通店 2 商超店 3交付店
     */
    private Integer lastShopType;

    /**
     * 上次店铺ID
     */
    private String lastShopId;

    /**
     * 上次店铺名称
     */
    private String lastShopName;

    /**
     * 上次经销商ID
     */
    private String lastDealerId;

    /**
     * 上次经销名称
     */
    private String lastDealerName;

    /**
     * 销售顾问id
     */
    private String lastSaId;

    /**
     * 销售顾问名称
     */
    private String lastSaName;

    /**
     * 交付专员id
     */
    private String deliveryId;

    /**
     * 交付专员名称
     */
    private String deliveryName;

    /**
     * 用户一级来源
     */
    private String order;

    /**
     * 客户公司类型CODE
     */
    private Integer customerCompanyCode;

    /**
     * 客户公司类型名称
     */
    private String customerCompanyType;

    /**
     * 潜客公司名称
     */
    private String customerCompanyName;

    /**
     * 下发时间
     */
    private Integer issuingTime;

    /**
     * 最后提交审核时间
     */
    private LocalDateTime lastApplyTime;

    /**
     * 待支付金额
     */
    private BigDecimal paymentAmount;

    /**
     * 已支付金额
     */
    private BigDecimal paidAmount;

    /**
     * 订单支付状态
     */
    private Integer payOrderStatus;

    /**
     * 订单支付状态名称
     */
    private String payOrderStatusName;

    /**
     * 分配时间
     */
    private LocalDateTime distributionTime;

    /**
     * 大客户id
     */
    private Long bigCustomerId;

    /**
     * 审核时间
     */
    private LocalDateTime examineTime;

    /**
     * 申请时间
     */
    private LocalDateTime applyTime;

    /**
     * 审核状态
     */
    private Integer applyStatus;

    /**
     * 审核状态名称
     */
    private String applyStatusName;

    /**
     * 申请人
     */
    private String applyName;

    /**
     * 修改内容
     */
    private String updateContent;

    /**
     * 审核原因
     */
    private String checkDesc;


}
